<?

/*
*
*   Excalibur Content Management System
*   Copyright © 2008 Egor "Sontan" Kuryanovich
*
*   Based on Explay Engine v2.0 by Golovdinov Alexander
*
*   Official site: www.excms.ru
*   Contact e-mail: support@excms.ru
*
*   GNU General Public License original source:
*   http://www.gnu.org/licenses/gpl-3.0.html
*
*/


header("Cache-control: no-cache");
header("Content-type: text/html; charset=utf-8");  

$form = "
<html><head><title>Установка Excalibur CMS Engine</title></head><body>
<h2>Установка Excalibur CMS Engine</h2>
<b><font size=4><u>Шаг 1.</u></font> Подключение к базе данных и создание профиля администратора.</b>
<form method=post name=install action='install.php?action=2'>
<input type=hidden name=db_perefix value='expl'>
<table border=0>
<tr><td>Сервер:</td><td><input type=text size=20 name=server value='localhost'></td></tr>
<tr><td>Имя базы данных:</td><td><input type=text size=20 name=db_name></td></tr>
<tr><td>Пользователь БД:</td><td><input type=text size=20 name=db_username></td></tr>
<tr><td>Пароль БД:</td><td><input type=text size=20 name=db_password></td></tr>
<tr><td colspan=2><b>Создание профиля администратора</b></td></tr>
<tr><td>Логин:</td><td><input type=text size=20 name=admin_login></td></tr>
<tr><td>Пароль:</td><td><input type=password size=20 name=admin_pass></td></tr>
<tr><td>Повторите пароль:</td><td><input type=password size=20 name=admin_pass2></td></tr>
<tr><td>Имя:</td><td><input type=text size=20 name=admin_name></td></tr>
<tr><td>E-mail:</td><td><input type=text size=20 name=admin_email></td></tr>
</table>
<font color=red>Внимание! Внимательно проверьте все поля перед подтверждением установки!</color><p>
<input type=submit name=submit value='Установить'> <input type=reset value='Очистить'>
</form></body></html>";

if (!isset($_GET['action'])) print $form;

elseif ($_GET['action'] == 2) {

print "<html><head><title>Установка Excalibur CMS Engine</title></head><body>
<h2>Установка Excalibur CMS Engine</h2>
<b><font size=4><u>Шаг 2.</u></font> Создание таблиц. Завершение установки.</b><p>";

// ===========================
// ===========================
$server = $_POST['server'];
$dbname = $_POST['db_name'];
$dbusername = $_POST['db_username'];
$dbpassword = $_POST['db_password'];

$admin_login = $_POST['admin_login'];
$admin_pass = $_POST['admin_pass'];
$admin_pass2 = $_POST['admin_pass2'];
$admin_name = $_POST['admin_name'];
$admin_email = $_POST['admin_email'];

$perefix = $_POST['db_perefix'];

if ($server == "" || $dbname == "" || $dbusername == "") {
	print "<center><b>Проверьте правильность ввода данных БД!<p><a href='javascript:history.back()'>Назад</a>";
	exit;
}

if ($admin_login == "" || $admin_pass == "" || ($admin_pass != $admin_pass2) || $admin_name == "" || $admin_email == "") {
	print "<center><b>Проверьте правильность ввода данных администратора!<p><a href='javascript:history.back()'>Назад</a>";
	exit;
}
if (strlen($admin_login) < 4 || strlen($admin_login) > 16) {
	print "<center><b>Логин должен быть длиной от 4 до 16 символов!<p><a href='javascript:history.back()'>Назад</a>";
	exit;
}
if (strlen($admin_pass) < 4 || strlen($admin_pass) > 16) {
	print "<center><b>Пароль должен быть длиной от 4 до 16 символов!<p><a href='javascript:history.back()'>Назад</a>";
	exit;
}

$mysqlconnect = @mysql_connect ($server, $dbusername, $dbpassword);
if (!$mysqlconnect) {
	print "<center><b>Ошибка подключения к MySQL!<p><a href='javascript:history.back()'>Назад</a>";
	exit;
}
$mysqlselect = mysql_select_db ($dbname, $mysqlconnect);
if (!$mysqlselect) {
	print "<center><b>Ошибка подключения к БД!<p><a href='javascript:history.back()'>Назад</a>";
	exit;
}

if ($mysqlconnect && $mysqlselect) {
// ===========================

$ms = fopen ("SQL.txt", "r");
$mysql = fread ($ms, filesize("SQL.txt"));
fclose ($ms);

$array = explode (";", $mysql);
$count = count ($array);
for ($i=0; $i<$count; $i++) {
	if (mysql_query($array[$i])) print "\n<font color=green>Удачно!</font><br />";
	else print "\n<font color=red>".mysql_error()."</font><br />";
}

$file = fopen ("engine/settings.php", "w");
fwrite ($file, "<?
\$server = \"$server\";
\$dbusername = \"$dbusername\";
\$dbpassword = \"$dbpassword\";
\$dbname = \"$dbname\";
define (\"DB_PEREFIX\", \"$perefix\");");
fclose ($file);

mysql_query("INSERT INTO {$perefix}_users VALUES (0, '$admin_login', '".expl_hash($admin_pass)."', '$admin_name', 'admin', '1', '$admin_email', '', '', '".time()."', '', 'off', '', '0', '0', '', 'off', '', '', '', '', '', '', '', '', '', '', '')") or die (mysql_error ());
print "<font color=green><b>Профиль администратора создан!</b></font><p><input type=button value='Вход на сайт!' onclick='javascript:document.location.href=\"admin.php\"'>";

// ===========================
}

// ===========================
// ===========================
}

function expl_hash($str)
{
	if (function_exists('sha1')) return sha1($str);
	elseif (function_exists('mhash')) return bin2hex(mhash(MHASH_SHA1, $str));
	else return md5($str);
}

?>
